#ifndef ORBITALCAMERA_H
#define ORBITALCAMERA_H

#include "appGlobals.h"
#include "vec3.h"

class OrbitalCamera
{
public:
	OrbitalCamera();
	OrbitalCamera(const Vec3& eye, const Vec3& target);

	void apply();

	void rotate(const QPointF& angleOffset);
	void pan(const QPointF& offset);
	void zoom(float amount);
private:
	Vec3 m_eye;
	Vec3 m_target;

	float m_fYangle;
	float m_fXAngle;
};

#endif // ORBITALCAMERA_H